A system on chip (SoC) is a computer located on a single semi-conductor chip. A system on chip comprises a processing unit arranged to read executable instructions from a program memory unit and to execute them. A processing unit may comprise a single processor core or a group of two or more processor cores capable of operating in parallel. The program memory unit may be programmable or non-programmable or it may comprise programmable as well as non-programmable portions. A non-programmable instruction may be referred to as a hardcoded instruction. A program is a sequence of instructions written to perform a specified task on the system on chip. A process is an instance of a computer program that is being executed. A process may comprise one or more threads that execute instructions concurrently. Thus a computer program is a passive collection of instructions, whereas a process is the actual execution of those instructions.
A system on chip may further comprise a data memory unit for storing data other than instructions. The program memory unit and the data memory unit may be located within a single physical memory unit or may be considered one memory unit. A system on chip may further comprise a memory control unit (MCU) for allowing specific processes access to specific memory regions and for denying access to other processes.